#pragma once
#include <imgui/imgui.h>
#include <iostream>
#include <faker/engine/ui/Signal.h>
#include <faker/engine/ui/StateBuffer.h>

namespace Faker
{
    namespace Engine
    {
        namespace UI
        {
            struct Layer
            {
                bool mOpen = true;
                std::string mTitle = "Editor";
                Layer(const std::string &title) : mTitle(title)
                {
                }

                bool mInstanced = false;
                ImVec2 mPos;
                ImVec2 mSize;
                ImVec2 mEnd;

                void GetPosAndSize()
                {
                    mPos = ImGui::GetWindowPos();
                    mSize = ImGui::GetWindowSize();
                    mEnd.x = mPos.x + mSize.x;
                    mEnd.y = mPos.y + mSize.y;
                }
            };
        }
    }

};